home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Sample Code / Networking / OTLLCTest / OTLLCTest.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-09-13  |  5.4 KB  |  192 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        OTLLCTest.h
  3.  
  4.     Contains:    headers, defines for the OTLLCTest.c file
  5.  
  6.     Written by:    Rich Kubota
  7.  
  8.     Copyright:    © 1993-1995 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.     To Do:
  13.  
  14. */
  15.  
  16. #ifndef __OTLLCTEST__
  17. #define __OTLLCTEST__
  18.  
  19.  
  20. #ifndef __CONDITIONALMACROS__
  21. #include <ConditionalMacros.h>
  22. #endif
  23.  
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27.  
  28. #if PRAGMA_ALIGN_SUPPORTED
  29. #pragma options align=mac68k
  30. #endif
  31.  
  32. #if PRAGMA_IMPORT_SUPPORTED
  33. #pragma import on
  34. #endif
  35.  
  36. #include <stdio.h>
  37. #include <Types.h>
  38. #include <Memory.h>
  39. #include <Resources.h>
  40. #include <Events.h>
  41. #include <OpenTransport.h>            // open transport files            
  42. #include <OpenTptLinks.h>
  43.  
  44.  
  45. // defines for setting and reading the data buffer
  46. #define DATASIZE    1500
  47. #define DATASLOP    50        // extra bytes for the incoming data buffer to hold
  48.                             // mentat raw mode header and ethernet header
  49. #define DATAOFFSET    1400    // first byte in data buffer where we place valid data
  50.  
  51. #define    SENDCOUNT    10005    // number of data packets to send
  52. #define TRIGGEREND    10000    // trigger point for receiver to end
  53.  
  54. // define the DSAP
  55. //#define TESTSAP        0x00FF
  56. #define TESTSAP        0xE0
  57. //#define TESTSAP        0xAA
  58.  
  59. #define  MYSNAP0    0x00
  60. #define  MYSNAP1    0x00
  61. #define  MYSNAP2    0x0C
  62. #define  MYSNAP3    0x20
  63. #define  MYSNAP4    0x00
  64.  
  65. #define TIMEOUT        30         // seconds
  66. // define the multicast address to use
  67. #define MCASTADDR0    0x09
  68. #define MCASTADDR1    0x00
  69. #define MCASTADDR2    0x2B
  70. #define MCASTADDR3    0x00
  71. #define MCASTADDR4    0x00
  72. #define MCASTADDR5    0x04
  73.  
  74. // defines for gFlags bits
  75. #define OTActiveFlag    0
  76. #define EPActiveFlag    1
  77. #define EPBoundFlag        2
  78. #define MCastActiveFlag    3
  79. #define    WantDataFlag    4
  80. #define StillBindFlag    5
  81. #define    FlowErrFlag        7
  82. #define FlowClrFlag        8
  83. #define AckSendsFlag    9
  84. #define UseAckSendsFlag    10
  85. #define WaitOptMgmtFlag    11
  86. #define RawModeFlag        12
  87. #define UseRawModeFlag    13
  88. #define SysTaskSendFlag    14
  89.  
  90.  
  91. // gFlags macros for setting, testing and clearing the flag bits
  92. #define SetOTActiveFlag(flags)        (flags |= 1 << OTActiveFlag)
  93. #define ClrOTActiveFlag(flags)        (flags &= (-1 ^ (1 << OTActiveFlag)))
  94. #define TstOTActiveFlag(flags)        ((flags & (1 << OTActiveFlag)) != 0)
  95.  
  96. #define SetEPActiveFlag(flags)        (flags |= 1 << EPActiveFlag)
  97. #define ClrEPActiveFlag(flags)        (flags &= (-1 ^ (1 << EPActiveFlag)))
  98. #define TstEPActiveFlag(flags)        ((flags & (1 << EPActiveFlag)) != 0)
  99.  
  100. #define SetEPBoundFlag(flags)        (flags |= 1 << EPBoundFlag)
  101. #define ClrEPBoundFlag(flags)        (flags &= (-1 ^ (1 << EPBoundFlag)))
  102. #define TstEPBoundFlag(flags)        ((flags & (1 << EPBoundFlag)) != 0)
  103.  
  104. #define SetMCastActiveFlag(flags)    (flags |= 1 << MCastActiveFlag)
  105. #define ClrMCastActiveFlag(flags)    (flags &= (-1 ^ (1 << MCastActiveFlag)))
  106. #define TstMCastActiveFlag(flags)    ((flags & (1 << MCastActiveFlag)) != 0)
  107.  
  108. #define SetWantDataFlag(flags)        (flags |= 1 << WantDataFlag)
  109. #define ClrWantDataFlag(flags)        (flags &= (-1 ^ (1 << WantDataFlag)))
  110. #define TstWantDataFlag(flags)        ((flags & (1 << WantDataFlag)) != 0)
  111.  
  112. #define SetStillBindFlag(flags)        (flags |= 1 << StillBindFlag)
  113. #define ClrStillBindFlag(flags)        (flags &= (-1 ^ (1 << StillBindFlag)))
  114. #define TstStillBindFlag(flags)        ((flags & (1 << StillBindFlag)) != 0)
  115.  
  116. #define SetFlowErrFlag(flags)        (flags |= 1 << FlowErrFlag)
  117. #define ClrFlowErrFlag(flags)        (flags &= (-1 ^ (1 << FlowErrFlag)))
  118. #define TstFlowErrFlag(flags)        ((flags & (1 << FlowErrFlag)) != 0)
  119.  
  120. #define SetFlowClrFlag(flags)        (flags |= 1 << FlowClrFlag)
  121. #define ClrFlowClrFlag(flags)        (flags &= (-1 ^ (1 << FlowClrFlag)))
  122. #define TstFlowClrFlag(flags)        ((flags & (1 << FlowClrFlag)) != 0)
  123.  
  124. #define SetAckSendsFlag(flags)        (flags |= 1 << AckSendsFlag)
  125. #define ClrAckSendsFlag(flags)        (flags &= (-1 ^ (1 << AckSendsFlag)))
  126. #define TstAckSendsFlag(flags)        ((flags & (1 << AckSendsFlag)) != 0)
  127.  
  128. #define SetUseAckSendsFlag(flags)    (flags |= 1 << UseAckSendsFlag)
  129. #define ClrUseAckSendsFlag(flags)    (flags &= (-1 ^ (1 << UseAckSendsFlag)))
  130. #define TstUseAckSendsFlag(flags)    ((flags & (1 << UseAckSendsFlag)) != 0)
  131.  
  132. #define SetWaitOptMgmtFlag(flags)    (flags |= 1 << WaitOptMgmtFlag)
  133. #define ClrWaitOptMgmtFlag(flags)    (flags &= (-1 ^ (1 << WaitOptMgmtFlag)))
  134. #define TstWaitOptMgmtFlag(flags)    ((flags & (1 << WaitOptMgmtFlag)) != 0)
  135.  
  136. #define SetRawModeFlag(flags)        (flags |= 1 << RawModeFlag)
  137. #define ClrRawModeFlag(flags)        (flags &= (-1 ^ (1 << RawModeFlag)))
  138. #define TstRawModeFlag(flags)        ((flags & (1 << RawModeFlag)) != 0)
  139.  
  140. #define SetUseRawModeFlag(flags)    (flags |= 1 << UseRawModeFlag)
  141. #define ClrUseRawModeFlag(flags)    (flags &= (-1 ^ (1 << UseRawModeFlag)))
  142. #define TstUseRawModeFlag(flags)    ((flags & (1 << UseRawModeFlag)) != 0)
  143.  
  144. #define SetSysTaskSendFlag(flags)    (flags |= 1 << SysTaskSendFlag)
  145. #define ClrSysTaskSendFlag(flags)    (flags &= (-1 ^ (1 << SysTaskSendFlag)))
  146. #define TstSysTaskSendFlag(flags)    ((flags & (1 << SysTaskSendFlag)) != 0)
  147.  
  148. #define kInSendPacketBit    0x01
  149.  
  150. enum {
  151.     kSendTest = 1,
  152.     kReceiveTest,
  153.     kAcceptOption,
  154.     kDeclineOption,
  155.     kQuitTest
  156. } TestTypes;
  157.  
  158. struct Address8022 {
  159.     OTAddressType    fAddrFamily;
  160.     UInt8            fHWAddr[k48BitAddrLength];
  161.     UInt16            fSAP;
  162. };
  163. typedef struct Address8022 Address8022;
  164.  
  165. struct PacketBuffer {
  166.     UInt32                rawModeOffset;
  167.     UInt32                i;
  168.     UInt32                lastFlowErrPacketNum;
  169.     TUnitData            unitdata;
  170.     struct T8022Address    dAddr;
  171.     UInt8                data[DATASIZE+32];
  172. };
  173.  
  174. typedef struct PacketBuffer PacketBuffer;
  175. typedef struct PacketBuffer *PacketBufPtr;
  176.  
  177.  
  178.  
  179. #if PRAGMA_IMPORT_SUPPORTED
  180. #pragma import off
  181. #endif
  182.  
  183. #if PRAGMA_ALIGN_SUPPORTED
  184. #pragma options align=reset
  185. #endif
  186.  
  187. #ifdef __cplusplus
  188. }
  189. #endif
  190.  
  191. #endif /* __OTLLCTEST__ */
  192.